package com.chen.blue.service.system;


import com.baomidou.mybatisplus.extension.service.IService;

import com.chen.blue.domain.delete.system.LogDelete;
import com.chen.blue.domain.dto.system.LogDto;
import com.chen.blue.domain.model.system.LogModel;
import com.chen.blue.domain.query.system.LogQuery;
import com.chen.blue.domain.vo.excel.LogExcel;
import com.chen.blue.domain.vo.system.LogVo;
import com.chen.blue.exception.e.DtoNullException;
import com.chen.blue.result.DataResult;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author CLT
 * @since 2023-10-28
 */
public interface ILogService extends IService<LogModel> {

    /**
     * add
     *
     * @param logDto
     * @return
     * @throws DtoNullException
     */
    boolean addLog(LogDto logDto) throws DtoNullException;

    /**
     * delete
     *
     * @param logDelete
     * @return
     */
    boolean deleteLog(LogDelete logDelete) throws DtoNullException;

    /**
     * update
     *
     * @param logDto
     * @return
     */
    boolean updateLogById(LogDto logDto) throws DtoNullException;

    /**
     * query
     *
     * @param logQuery
     * @return
     */
    DataResult<List<LogVo>> queryLog(LogQuery logQuery) throws DtoNullException;

    /**
     * queryById
     *
     * @param id
     * @return
     */
    DataResult<LogVo> queryLogById(Long id) throws DtoNullException;

    /**
     * import
     *
     * @param logExcel
     * @return
     */
    boolean include(List<LogExcel> logExcel);

}
